import { OAuthConfigAccount, WriteTokenInfoFunction, RefreshTokenResponse, ExchangeProof } from '../types/Accounts';
export declare class OAuth2Manager {
    account: OAuthConfigAccount;
    writeTokenInfo?: WriteTokenInfoFunction;
    refreshTokenRequest: Promise<RefreshTokenResponse> | null;
    constructor(account: OAuthConfigAccount, writeTokenInfo?: WriteTokenInfoFunction);
    accessToken(): Promise<string | undefined>;
    fetchAccessToken(exchangeProof: ExchangeProof): Promise<void>;
    exchangeForTokens(exchangeProof: ExchangeProof): Promise<void>;
    refreshAccessToken(): Promise<void>;
}
